/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.unmsm.pacis.shca.domain.entity;

import java.io.Serializable;
import java.util.List;
import javax.persistence.*;

/**
 *
 * @author solriver
 */
@Entity
@Table(name = "tenencia_animal", catalog = "bdshca")
@NamedQueries({
    @NamedQuery(name = "TenenciaAnimal.findAll", query = "SELECT t FROM TenenciaAnimal t"),
    @NamedQuery(name = "TenenciaAnimal.findByIdTenenciaAnimal", query = "SELECT t FROM TenenciaAnimal t WHERE t.idTenenciaAnimal = :idTenenciaAnimal"),
    @NamedQuery(name = "TenenciaAnimal.findByTenTenencia", query = "SELECT t FROM TenenciaAnimal t WHERE t.tenTenencia = :tenTenencia"),
    @NamedQuery(name = "TenenciaAnimal.findByTenVacuna", query = "SELECT t FROM TenenciaAnimal t WHERE t.tenVacuna = :tenVacuna"),
    @NamedQuery(name = "TenenciaAnimal.findByTenTipo", query = "SELECT t FROM TenenciaAnimal t WHERE t.tenTipo = :tenTipo")})
public class TenenciaAnimal implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "id_tenencia_animal")
    private Integer idTenenciaAnimal;
    @Column(name = "ten_tenencia")
    private Boolean tenTenencia;
    @Column(name = "ten_vacuna")
    private Boolean tenVacuna;
    @Column(name = "ten_tipo")
    private Short tenTipo;
    @JoinColumn(name = "ani_id_animal", referencedColumnName = "id_animal")
    @ManyToOne(optional = false)
    private Animal aniIdAnimal;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "tenIdTenenciaAnimal")
    private List<VisitaDomiciliaria> visitaDomiciliariaList;

    public TenenciaAnimal() {
    }

    public TenenciaAnimal(Integer idTenenciaAnimal) {
        this.idTenenciaAnimal = idTenenciaAnimal;
    }

    public Integer getIdTenenciaAnimal() {
        return idTenenciaAnimal;
    }

    public void setIdTenenciaAnimal(Integer idTenenciaAnimal) {
        this.idTenenciaAnimal = idTenenciaAnimal;
    }

    public Boolean getTenTenencia() {
        return tenTenencia;
    }

    public void setTenTenencia(Boolean tenTenencia) {
        this.tenTenencia = tenTenencia;
    }

    public Boolean getTenVacuna() {
        return tenVacuna;
    }

    public void setTenVacuna(Boolean tenVacuna) {
        this.tenVacuna = tenVacuna;
    }

    public Short getTenTipo() {
        return tenTipo;
    }

    public void setTenTipo(Short tenTipo) {
        this.tenTipo = tenTipo;
    }

    public Animal getAniIdAnimal() {
        return aniIdAnimal;
    }

    public void setAniIdAnimal(Animal aniIdAnimal) {
        this.aniIdAnimal = aniIdAnimal;
    }

    public List<VisitaDomiciliaria> getVisitaDomiciliariaList() {
        return visitaDomiciliariaList;
    }

    public void setVisitaDomiciliariaList(List<VisitaDomiciliaria> visitaDomiciliariaList) {
        this.visitaDomiciliariaList = visitaDomiciliariaList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idTenenciaAnimal != null ? idTenenciaAnimal.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TenenciaAnimal)) {
            return false;
        }
        TenenciaAnimal other = (TenenciaAnimal) object;
        if ((this.idTenenciaAnimal == null && other.idTenenciaAnimal != null) || (this.idTenenciaAnimal != null && !this.idTenenciaAnimal.equals(other.idTenenciaAnimal))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "pe.edu.unmsm.pacis.shca.domain.entity.TenenciaAnimal[ idTenenciaAnimal=" + idTenenciaAnimal + " ]";
    }
    
}
